FOCAL character set
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
In computing FOCAL character set refers to a group of 8-bit single byte character sets introduced by Hewlett-Packard since 1979. It was used in several RPN calculators supporting the FOCAL programming language, like the HP-41C/CV/CX as well as the later HP-42S,cite-ref-hp42s-1988-om-1-0[1]cite-ref-hp42s-1988-pe-2-0[2] which was introduced in 1988cite-ref-hp42s-1988-om-1-1[1]cite-ref-hp42s-1988-pe-2-1[2] and produced up to 1995. As such, it is also used by SwissMicros' DM41/L, both introduced in 2015, and is implicitly supported by the DM42, introduced in 2017 (although the later calculator utilizes Free42, which is based on Unicode internally).
Contents
• See also
• Notes
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Character set
The character set is derived from ASCII, but with the control code range and some high bit characters replaced by various special characters.
| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0x | ‾ / ♦ | × | x̅ / ā | ← | α | β | Γ | ↓ | Δ | σ | ♦ | λ | µ / μ | ∡ / ∠ | τ | Φ |
| 1x | θ | Ω | δ | Å | å | Ä | ä | Ö | ö | Ü | ü | Æ | æ | ≠ | £ / ₤ | ▒ |
| 2x | SP | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
| 3x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
| 4x | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
| 5x | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ↑ / ^ | _ |
| 6x | ` / ⊤ | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
| 7x | p | q | r | s | t | u | v | w | x | y | z | π | / | → | Σ | ⊦ [ nb 1 ] |
Characters not in all versions
When Hewlett-Packard introduced the HP-42S in 1988, the FOCAL character set was revised to include more characters, including a number of characters already provided by the HP 82240A infrared thermo printer, which had been introduced in 1986,cite-ref-nelson-2010-7-0[6] as part of its extended variant of the 1985 revision of the HP Roman-8 character set,cite-ref-hp82240a-1986-8-0[7]cite-ref-hp82240b-1989-9-0[8] although at completely different code points.
There is no code point definition for the euro sign in this character set.
| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0x | ÷ | × | √ | ∫ | ░ | Σ | ▶ [ nb 2 ] | π | ¿ | ≤ | LF / EOT | ≥ | ≠ | ↵ | ↓ | → |
| 1x | ← | µ / μ | £ / ₤ | ° | Å | Ñ | Ä | ∡ / ∠ | ᴇ / ⏨ | Æ | … / ‥ | ␛ | Ö | Ü | ▒ | ■ / · |
| 2x | SP | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
| 3x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
| 4x | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
| 5x | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ↑ / ^ | _ |
| 6x | ` | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
| 7x | p | q | r | s | t | u | v | w | x | y | z | { | / | } | ~ | ⊦ [ nb 1 ] |
| 8x | ¦ ? | ¥ ? | ▓ ? | | | | | | | | ␊ | | | | | |
Translation from HP-42S character set to the modified HP Roman-8 (supported by HP 82240A etc.) character set:
| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0x | 0x81 | 0x82 | 0x83 | 0x84 | 0x04 | 0x85 | 0x86 | 0x87 | 0x08 | 0x89 | 0x04 | 0x8A | 0x8B | 0x0D | 0x0E | 0x8D |
| 1x | 0x8E | 0x8F | 0xAF | 0xB3 | 0xA2 | 0xB6 | 0xD8 | 0xA0 | 0x18 | 0xD3 | 0x9B | 0x1B | 0xDA | 0xDB | 0x7F | 0xF2 |
| | | | | | | | | | | | | | | | | |
| 7x | 0x70 | 0x71 | 0x72 | 0x73 | 0x74 | 0x75 | 0x76 | 0x77 | 0x78 | 0x79 | 0x7A | 0x7B | 0x7C | 0x7D | 0x7E | 0x94 |
| 8x | 0x80 | 0x81 | 0x82 | 0x83 | 0x84 | 0x85 | 0x86 | 0x87 | 0x88 | 0x89 | 0x90 | 0x8B | 0x8C | 0x8D | 0x8E | 0x8F |
See also
Notes
cite-note-nb-append-61. The glyph at code point 127 (⊦) is called APPEND character in Hewlett-Packard terminology. In the HP-41C/CV/CX and HP-42S series of calculators, it is used to indicate that the following characters will be appended to the alpha register rather than replacing the existing contents of the register.
cite-note-nb-free42-102. The glyph at code point 6 is called GOOSE character in Hewlett-Packard terminology. While U+25B6 (▶) is the preferred Unicode character for maximum cross-compatibility with established RPL character set mappings, Free42 since release 2.0.1 (2017-04-23) maps to U+25B8 (▸) instead. [1]
References
cite-note-hp42s-1988-om-11. ↑ RPN Scientific Calculator - Owner's Manual - HP-42S (PDF) (1 ed.). Hewlett-Packard. June 1988. pp. 288–291. 00042-90001, 00042-90002. Archived (PDF) from the original on 2018-01-04. Retrieved 2018-01-04.
cite-note-hp42s-1988-pe-22. ↑ HP-42S RPN Scientific - Programming Examples and Techniques (PDF) (1 ed.). Corvallis, OR, USA: Hewlett-Packard Company, Corvallis Division. July 1988. 00042-90020, 00042-90019. Archived (PDF) from the original on 2018-01-04. Retrieved 2018-01-04.
cite-note-hicks-synthetic-33. citerefhicks2017Hicks, David G. (2017) [1998]. "HP-41C Synthetic Programming". The Museum of HP Calculators (MoHPC). Archived from the original on 2018-01-06. Retrieved 2018-01-06.
cite-note-hicks-hp41-44. citerefhicks1997Hicks, David G. (1997). "Graphic byte code table". The Museum of HP Calculators (MoHPC). Archived from the original on 2018-01-06. Retrieved 2018-01-06.
cite-note-hp82143a-1983-55. HP 82143A Printer Owner's Handbook (PDF) (Rev. C ed.). Corvallis, OR, USA: Hewlett-Packard, Corvallis Division. March 1983. p. 37. 82143-90001. Archived from the original (PDF) on March 31, 2022.
cite-note-nelson-2010-76. ↑ citerefnelson2010Nelson, Richard J. (May 2010). "HP 82240B IR Printer" (PDF). HP Solve (18). Archived from the original (PDF) on 2016-09-21. Retrieved 2016-09-21.
cite-note-hp82240a-1986-87. ↑ HP 82240A Infrared Printer (PDF) (2 ed.). Corvallis, OR, USA: Hewlett Packard, Portable Computer Division. October 1986. HP reorder number 82240-90001 (82240-90008). Archived (PDF) from the original on 2016-08-06. Retrieved 2016-08-06.
cite-note-hp82240b-1989-98. ↑ HP 82240B Infrared Printer (1 ed.). Corvallis, OR, USA: Hewlett Packard. August 1989. pp. 17–18. HP reorder number 82240-90014.
Further reading
• HP-41C Operating Manual - A Guide for the Experienced User (PDF). Hewlett-Packard Company. June 1980. 00041-90259. Archived from the original on 2018-01-04. Retrieved 2018-01-04.
• citerefoerttelh-mpfnermeierschilli2014Oerttel, Burkhard; Hümpfner, Reinhold; Meier, Bernhard; Schilli, Michael; Weber, Andreas; Leissner, Frank; Kaiser, Axel; Strewinski, Reinhard; von Borries, Sebastian; Dalkowski, Heinz; Fegert, Stefan (2014) [1989]. Fegert, Stefan; Dalkowski, Heinz (eds.). Programmsammlung für den HP-41 (PDF) (in German). Berlin, Germany: Heldermann Verlag. ISBN 978-3-88538-809-8. Archived (PDF) from the original on 2018-01-04. Retrieved 2018-01-04.